/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gui.Ventas;

import Controlador.Service.Seguridad.ServicioPerfil;
import Controlador.Service.Ventas.GestionVentas;
import gui.General.Main;
import javax.swing.JOptionPane;


/**
 *
 * @author Luis Enrique
 */
public class GestorVentasIFrame extends javax.swing.JInternalFrame {

    /**
     * Creates new form gestorVentasInternalFrame 
     */
    public GestorVentasIFrame() {
        initComponents();
        GestionVentas.getInstance().actualizarCotizacionesVencidas();
        this.remove(clienteMainPanel1);
        this.remove(cotizacionMainPanel1);
        this.remove(facturacionMainPanel1);
        this.remove(planVentasMainPanel1);
        this.remove(devolucionMainPanel1);
    }
    
    public void CerrarVentanas(){
        if(clienteMainPanel1.isVisible()==true){
            clienteMainPanel1.setVisible(false);
            this.remove(clienteMainPanel1);
            clienteMainPanel1.removeAll();
        }
        if(cotizacionMainPanel1.isVisible()==true){
            cotizacionMainPanel1.setVisible(false);
            this.remove(cotizacionMainPanel1);
            cotizacionMainPanel1.removeAll();
        }
        if(pedidoMainPanel1.isVisible()==true){
            pedidoMainPanel1.setVisible(false);
            this.remove(pedidoMainPanel1);
            pedidoMainPanel1.removeAll();
        }
        if(facturacionMainPanel1.isVisible()==true){
            facturacionMainPanel1.setVisible(false);
            this.remove(facturacionMainPanel1);
            facturacionMainPanel1.removeAll();
        }
        if(planVentasMainPanel1.isVisible()==true){
            planVentasMainPanel1.setVisible(false);
            this.remove(planVentasMainPanel1);
            planVentasMainPanel1.removeAll();
        }
        if(devolucionMainPanel1.isVisible()==true){
            devolucionMainPanel1.setVisible(false);
            this.remove(devolucionMainPanel1);
            devolucionMainPanel1.removeAll();
        }
    }
    
    public void CargarVentas(){        
        clienteMainPanel1.setVisible(false);
        cotizacionMainPanel1.setVisible(false);
        pedidoMainPanel1.setVisible(false);
        facturacionMainPanel1.setVisible(false);
        devolucionMainPanel1.setVisible(false);
        planVentasMainPanel1.setVisible(false);
        this.remove(clienteMainPanel1);
        this.remove(cotizacionMainPanel1);
        this.remove(pedidoMainPanel1);
        this.remove(facturacionMainPanel1);
        this.remove(planVentasMainPanel1);
        this.remove(devolucionMainPanel1);
        if(clienteMainPanel1.isVisible()==true){
            this.remove(clienteMainPanel1);
            clienteMainPanel1.removeAll();
        }
        if(cotizacionMainPanel1.isVisible()==true){
            this.remove(cotizacionMainPanel1);
            cotizacionMainPanel1.removeAll();
        }
        if(pedidoMainPanel1.isVisible()==true){
            this.remove(pedidoMainPanel1);
            pedidoMainPanel1.removeAll();
        }
        if(facturacionMainPanel1.isVisible()==true){
            this.remove(facturacionMainPanel1);
            facturacionMainPanel1.removeAll();
        }
        if(planVentasMainPanel1.isVisible()==true){
            this.remove(planVentasMainPanel1);
            planVentasMainPanel1.removeAll();
        }
        if(devolucionMainPanel1.isVisible()==true){
            this.remove(devolucionMainPanel1);
            devolucionMainPanel1.removeAll();
        }
        pedidoMainPanel1= new PedidoMainPanel();
            this.add(pedidoMainPanel1);
            pedidoMainPanel1.setVisible(true);
            setTitle("Gestión de Ventas - Pedido");
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        devolucionMainPanel1 = new gui.Ventas.DevolucionMainPanel();
        clienteMainPanel1 = new gui.Ventas.ClienteMainPanel();
        cotizacionMainPanel1 = new gui.Ventas.CotizacionMainPanel();
        planVentasMainPanel1 = new gui.Ventas.PlanVentasMainPanel();
        pedidoMainPanel1 = new gui.Ventas.PedidoMainPanel();
        facturacionMainPanel1 = new gui.Ventas.FacturacionMainPanel();
        jMenuBar1 = new javax.swing.JMenuBar();
        Mantenimiento = new javax.swing.JMenu();
        jMenu1 = new javax.swing.JMenu();
        mnCliente = new javax.swing.JMenuItem();
        Transaccion = new javax.swing.JMenu();
        mnCotizacion = new javax.swing.JMenuItem();
        mnPedido = new javax.swing.JMenuItem();
        mnFacturacion = new javax.swing.JMenuItem();
        mnDevolucion = new javax.swing.JMenuItem();
        Planificacion = new javax.swing.JMenu();
        mnPlanVentas = new javax.swing.JMenuItem();

        setClosable(true);
        setTitle("Gestión de Ventas - Pedido");
        setMaximumSize(new java.awt.Dimension(800, 600));
        setMinimumSize(new java.awt.Dimension(800, 600));
        setPreferredSize(new java.awt.Dimension(800, 600));
        getContentPane().setLayout(new java.awt.CardLayout());
        getContentPane().add(devolucionMainPanel1, "card2");
        getContentPane().add(clienteMainPanel1, "card3");
        getContentPane().add(cotizacionMainPanel1, "card4");
        getContentPane().add(planVentasMainPanel1, "card5");
        getContentPane().add(pedidoMainPanel1, "card6");
        getContentPane().add(facturacionMainPanel1, "card7");

        Mantenimiento.setText("Archivo");

        jMenu1.setText("Mantenimiento");

        mnCliente.setText("Cliente");
        mnCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnClienteActionPerformed(evt);
            }
        });
        jMenu1.add(mnCliente);

        Mantenimiento.add(jMenu1);

        jMenuBar1.add(Mantenimiento);

        Transaccion.setText("Ventas");

        mnCotizacion.setText("Cotización");
        mnCotizacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnCotizacionActionPerformed(evt);
            }
        });
        Transaccion.add(mnCotizacion);

        mnPedido.setText("Pedido");
        mnPedido.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnPedidoActionPerformed(evt);
            }
        });
        Transaccion.add(mnPedido);

        mnFacturacion.setText("Facturación");
        mnFacturacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnFacturacionActionPerformed(evt);
            }
        });
        Transaccion.add(mnFacturacion);

        mnDevolucion.setText("Devolución");
        mnDevolucion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnDevolucionActionPerformed(evt);
            }
        });
        Transaccion.add(mnDevolucion);

        jMenuBar1.add(Transaccion);

        Planificacion.setText("Planificación");

        mnPlanVentas.setText("Plan de Ventas");
        mnPlanVentas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnPlanVentasActionPerformed(evt);
            }
        });
        Planificacion.add(mnPlanVentas);

        jMenuBar1.add(Planificacion);

        setJMenuBar(jMenuBar1);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void mnPedidoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnPedidoActionPerformed
        if(!pedidoMainPanel1.isVisible()){
            if(ServicioPerfil.verificarPermiso(Main.usu.getIdUsuario(), "VNTPEDID", "ACC000")){
                CerrarVentanas();
                pedidoMainPanel1= new PedidoMainPanel();
                this.add(pedidoMainPanel1);
                pedidoMainPanel1.setVisible(true);
                setTitle("Gestión de Ventas - Pedido");
            }
            else
                JOptionPane.showMessageDialog(this,"Usted no tiene permisos para ingresar a esta ventana");          
        }
    }//GEN-LAST:event_mnPedidoActionPerformed

    private void mnCotizacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnCotizacionActionPerformed
        if(!cotizacionMainPanel1.isVisible()){   
            if(ServicioPerfil.verificarPermiso(Main.usu.getIdUsuario(), "VNTCOTZC", "ACC000")){
                CerrarVentanas();
                cotizacionMainPanel1= new CotizacionMainPanel();
                this.add(cotizacionMainPanel1);
                cotizacionMainPanel1.setVisible(true);
                setTitle("Gestión de Ventas - Cotización");
            }
            else
                JOptionPane.showMessageDialog(this,"Usted no tiene permisos para ingresar a esta ventana"); 
        }
    }//GEN-LAST:event_mnCotizacionActionPerformed

    private void mnClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnClienteActionPerformed
        if(!clienteMainPanel1.isVisible()){
            if(ServicioPerfil.verificarPermiso(Main.usu.getIdUsuario(), "VNTCLIEN", "ACC000")){
                CerrarVentanas();
                clienteMainPanel1=new ClienteMainPanel();
                this.add(clienteMainPanel1);
                clienteMainPanel1.setVisible(true);
                setTitle("Gestión de Ventas - Mantenimiento de Clientes");
                }
            else
                JOptionPane.showMessageDialog(this,"Usted no tiene permisos para ingresar a esta ventana"); 
        }
    }//GEN-LAST:event_mnClienteActionPerformed

    private void mnFacturacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnFacturacionActionPerformed
        if(!facturacionMainPanel1.isVisible()){    
            if(ServicioPerfil.verificarPermiso(Main.usu.getIdUsuario(), "VNTFACTR", "ACC000")){
                CerrarVentanas();
                facturacionMainPanel1=new FacturacionMainPanel();
                this.add(facturacionMainPanel1);
                facturacionMainPanel1.setVisible(true);
                setTitle("Gestión de Ventas - Facturación");
            }
            else
                JOptionPane.showMessageDialog(this,"Usted no tiene permisos para ingresar a esta ventana");  
        }
    }//GEN-LAST:event_mnFacturacionActionPerformed

    private void mnPlanVentasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnPlanVentasActionPerformed
        if(!planVentasMainPanel1.isVisible()){
            if(ServicioPerfil.verificarPermiso(Main.usu.getIdUsuario(), "VNTPLANV", "ACC000")){
                CerrarVentanas();
                planVentasMainPanel1=new PlanVentasMainPanel();
                this.add(planVentasMainPanel1);
                planVentasMainPanel1.setVisible(true);
                setTitle("Gestión de Ventas - Plan de Ventas");
            }
            else
                JOptionPane.showMessageDialog(this,"Usted no tiene permisos para ingresar a esta ventana");
        }
    }//GEN-LAST:event_mnPlanVentasActionPerformed

    private void mnDevolucionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnDevolucionActionPerformed
        if(!devolucionMainPanel1.isVisible()){    
            if(ServicioPerfil.verificarPermiso(Main.usu.getIdUsuario(), "VNTDEVLC", "ACC000")){
                CerrarVentanas();
                devolucionMainPanel1=new DevolucionMainPanel();
                this.add(devolucionMainPanel1);
                devolucionMainPanel1.setVisible(true);
                setTitle("Gestión de Ventas - Devolución");
            }
            else
                JOptionPane.showMessageDialog(this,"Usted no tiene permisos para ingresar a esta ventana"); 
        }
    }//GEN-LAST:event_mnDevolucionActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu Mantenimiento;
    private javax.swing.JMenu Planificacion;
    private javax.swing.JMenu Transaccion;
    private gui.Ventas.ClienteMainPanel clienteMainPanel1;
    private gui.Ventas.CotizacionMainPanel cotizacionMainPanel1;
    private gui.Ventas.DevolucionMainPanel devolucionMainPanel1;
    private gui.Ventas.FacturacionMainPanel facturacionMainPanel1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem mnCliente;
    private javax.swing.JMenuItem mnCotizacion;
    private javax.swing.JMenuItem mnDevolucion;
    private javax.swing.JMenuItem mnFacturacion;
    private javax.swing.JMenuItem mnPedido;
    private javax.swing.JMenuItem mnPlanVentas;
    private gui.Ventas.PedidoMainPanel pedidoMainPanel1;
    private gui.Ventas.PlanVentasMainPanel planVentasMainPanel1;
    // End of variables declaration//GEN-END:variables
}
